The present invention relates generally to the field of digital signal processing. More specifically, the present invention relates to a method, a system and a computer program product for detecting the onset of a near-end signal in an Acoustic Echo Canceller (AEC).
In a tele-communication network, various types of communication equipment enable two or more users to have a conversation with each other. To enhance their comfort during the conversation, users prefer hands-free communication equipment. In a typical hands-free communication apparatus, users do not need to use their hands to hold communication equipment during a conversation. For example, while driving a car, users can operate car phones via their voice commands, thereby avoiding the use of their hands. Examples of hands-free communication equipment include, but are not limited to, loudspeaker and microphone communication, teleconferencing and desktop communication.
In a typical conversation between two users, one user can be referred to as a near-end user. From the perspective of the near-end user, the other user can be referred to as a far-end user. The near-end user can use a hands-free communication apparatus to communicate with the far-end user. Hands-free communication equipment include a microphone and a loudspeaker. The microphone is used to input the speech signal generated by the near-end user. The speech signal at the input of the microphone is referred to as a near-end signal. The loudspeaker is used to output the speech signal generated by the far-end user. The electrical speech signal at the input of the loudspeaker is referred to as a far-end signal.
It is possible that the received far-end signal is reflected by the surroundings of the hands-free communication apparatus. The reflection of the far-end signal results in the formation of an acoustic echo, which is a scattered and delayed replica of the far-end signal. When the microphone is placed near the loudspeaker, the microphone may capture the acoustic echo. As a result, the far-end user may receive the acoustic echo. Moreover, if the near-end signal is present, the far-end user receives the near-end signal with the acoustic echo. In both the cases, the acoustic echo reduces the clarity of the conversation, which may be disrupted.
Various techniques have been used to attenuate the acoustic echo. One such technique uses an Acoustic Echo Canceller (AEC) to attenuate the acoustic echo. The AEC includes an adaptive filter, a Near-end Signal Detector (NSD) and a Non-Linear Processor (NLP). The AEC may also include a Comfort Noise Generator (CNG). The adaptive filter estimates the acoustic echo and subtracts the estimate of acoustic echo from the acoustic echo. This subtraction results in a residual echo. The estimate of acoustic echo depends on the coefficients of the adaptive filter, which are updated based on the output of the microphone.
When the coefficients of the adaptive filter are updated in the absence of the near-end signal at the output of the microphone, the value of the estimate of acoustic echo is close to that of the acoustic echo. Therefore, the value of the residual echo is close to zero and echo cancellation takes place. In the absence of the near-end signal, the residual echo is suppressed by the NLP, which is a switched attenuator. The NLP replaces the residual echo with a comfort noise that is generated by the CNG. Thereafter, the comfort noise is passed to the far-end user and the residual echo is suppressed.
However, if the coefficients of the adaptive filter are updated in the presence of the near-end signal at the output of the microphone, the coefficients of the adaptive filter diverge. This divergence is caused by the fact that unlike the acoustic echo, the near-end signal does not correlate with the far-end signal. Therefore, the near-end signal acts like a burst noise for the adaptive filter and forces the coefficients of the adaptive filter to diverge from their converged values. The divergence of the adaptive filter results in poor echo cancellation. To prevent this divergence, the adaptive filter should not be updated for the duration of the near-end signal. The duration of the near-end signal is defined by its onset and termination. In the AEC, the NSD is used to detect the onset and termination of the near-end signal.
Several techniques have been proposed to detect the onset of the near-end signal. One such technique is known as Angle Based Method (ABM). The ABM detects the onset of the near-end signal on the basis of the angle between the output signal of the microphone and the estimate of acoustic echo. However, the ABM introduces a delay in the detection of the onset of the near-end signal. This delay causes the adaptive filter to diverge. As a result, the process of echo cancellation is ineffective and the conversation may be unclear.
Therefore, there is a need for a system and a method that reduces the delay in the detection of the onset of the near-end signal. Further, the method and the system should improve the overall clarity of the conversation.